package com.xxx.mall.service;

import com.xxx.mall.dto.BrandDTO;
import com.xxx.mall.dto.BrandQuery;
import com.xxx.mall.dto.PageQuery;
import com.xxx.mall.model.Brand;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xxx.mall.vo.BrandVO;
import com.xxx.mall.vo.PageVO;

/**
 * <p>
 * 品牌信息 服务类
 * </p>
 *
 * @author 邢晨旭
 * @since 2023-11-15
 */
public interface BrandService extends IService<Brand> {

    /**
     * 分页查询品牌
     * @param pageQuery 分页参数
     * @param brandQuery 查询参数
     * @return 分页结果
     */
    PageVO<BrandVO> pageList(PageQuery pageQuery, BrandQuery brandQuery);

    /**
     * 保存品牌以及分类关联关系
     * @param brandDTO 品牌信息
     */
    void saveBrand(BrandDTO brandDTO);

    /**
     * 更新品牌以及分类关联关系
     * @param brandDTO 品牌信息
     */
    void updateBrand(BrandDTO brandDTO);

    /**
     * 根据品牌id查询品牌信息
     * @param brandId 品牌id
     * @return 品牌信息
     */
    BrandVO queryById(Long brandId);

    /**
     * 根据品牌id删除品牌信息
     * @param brandId 品牌id
     */
    void deleteById(Long brandId);

    /**
     * 分页查询品牌
     * @param pageQuery
     * @param categoryId
     * @return
     */
    PageVO<BrandVO> pageList(PageQuery pageQuery, Long categoryId);
}
